links, explanatory comments, some minor modifications 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-aborted.js b/XMLHttpRequest/xmlhttprequest-timeout-aborted.js index 34d9f7d..54142fd 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-aborted.js +++ b/XMLHttpRequest/xmlhttprequest-timeout-aborted.js 
@@ -8,7 +8,7 @@  Second request will be aborted immediately after send(), test asserts that abort fired    Third request is set up to call abort() after a 1 second delay, but it also has a 400ms timeout. Asserts that timeout fired. -(abort() is called 600ms later and should not fire an abort event per spec. Untested.) +(abort() is called 600ms later and should not fire an abort event per spec. This is untested!)  */  runTestRequests([ new AbortedRequest(false),  new AbortedRequest(true, -1), 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html b/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html index 404dfc4..3f96413 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html +++ b/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html 
@@ -3,7 +3,10 @@  <head>  <meta charset="utf-8" />  <title>XHR2 Timeout Property Tests</title> - <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" /> + <link rel="help" href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-abort()-method" data-tested-assertations="following-sibling::ol/li[4] following-sibling::ol/li[4]/ol/li[5]" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#abort-error" data-tested-assertations=".."/> + <link rel="help" href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#event-xhr-abort" data-tested-assertations="../.." /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#request-error" data-tested-assertations="following::ol/li[9]"/>  <link rel="stylesheet" href="/resources/testharness.css" />  <script src="/resources/testharness.js"></script>  <script src="/resources/testharnessreport.js"></script> 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.js b/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.js index a9dfc82..a6a67f1 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.js +++ b/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.js 
@@ -1,2 +1,8 @@ +/* +This test sets up two requests:  +one that gets abort()ed from a 0ms timeout (0ms will obviously be clamped to whatever the implementation's minimal value is), asserts abort event fires +one that will be aborted after 200ms (TIME_DELAY), (with a timeout at 400ms) asserts abort event fires. Does not assert that the timeout event does *not* fire. +*/ +  runTestRequests([ new AbortedRequest(true, 0),  new AbortedRequest(true, TIME_DELAY) ]); 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-overrides.html b/XMLHttpRequest/xmlhttprequest-timeout-overrides.html index 9bc6eac..1c8430b 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-overrides.html +++ b/XMLHttpRequest/xmlhttprequest-timeout-overrides.html 
@@ -3,7 +3,10 @@  <head>  <meta charset="utf-8" />  <title>XHR2 Timeout Property Tests</title> - <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute" data-tested-assertations="following::ol[1]/li[2]" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-ontimeout" data-tested-assertations="../.."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" data-tested-assertations=".."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#request-error" data-tested-assertations="following::ol[1]/li[9]"/>  <link rel="stylesheet" href="/resources/testharness.css" />  <script src="/resources/testharness.js"></script>  <script src="/resources/testharnessreport.js"></script> 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-overrides.js b/XMLHttpRequest/xmlhttprequest-timeout-overrides.js index 995e075..7f8e828 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-overrides.js +++ b/XMLHttpRequest/xmlhttprequest-timeout-overrides.js 
@@ -1,6 +1,11 @@  if (this.document === undefined)  importScripts("xmlhttprequest-timeout.js"); - +/* +Sets up three requests to a resource that will take 0.6 seconds to load: +1) timeout first set to 1000ms, after 400ms timeout is set to 0, asserts load fires +2) timeout first set to 1000ms, after 200ms timeout is set to 400, asserts load fires (race condition..?!?) +3) timeout first set to 0, after 400ms it is set to 1000, asserts load fires +*/  runTestRequests([ new RequestTracker(true, "timeout disabled after initially set", TIME_NORMAL_LOAD, TIME_REGULAR_TIMEOUT, 0),  new RequestTracker(true, "timeout overrides load after a delay", TIME_NORMAL_LOAD, TIME_DELAY, TIME_REGULAR_TIMEOUT),  new RequestTracker(true, "timeout enabled after initially disabled", 0, TIME_REGULAR_TIMEOUT, TIME_NORMAL_LOAD) ]); 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html b/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html index 7690ef8..8e820a2 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html +++ b/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html 
@@ -3,7 +3,10 @@  <head>  <meta charset="utf-8" />  <title>XHR2 Timeout Property Tests</title> - <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute" data-tested-assertations="following::ol[1]/li[2]" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-ontimeout" data-tested-assertations="../.."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" data-tested-assertations=".."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#request-error" data-tested-assertations="following::ol[1]/li[9]"/>  <link rel="stylesheet" href="/resources/testharness.css" />  <script src="/resources/testharness.js"></script>  <script src="/resources/testharnessreport.js"></script> 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.js b/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.js index 28ce9c3..7114dfe 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.js +++ b/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.js 
@@ -1,6 +1,13 @@  if (this.document === undefined)  importScripts("xmlhttprequest-timeout.js"); - +/* +	Starts three requests: +	1) XHR to resource which will take a least 600ms with timeout initially set to 1000ms. After 800ms timeout is supposedly reset to 200ms,  + but the resource should have finished loading already. Asserts "load" fires. +	2) XHR with initial timeout set to 1000, after 400ms sets timeout to 300ms. Asserts "timeout" fires.  + (Originally new value was 200ms. Race condition-y. Setting the new timeout to 300ms would be a better test of the "measured from start of fetching" requirement.) +	3) XHR with initial timeout set to 200, after 400ms sets timeout to 500ms. Asserts "timeout" fires (the change happens when timeout already fired and the request is done). +*/  runTestRequests([ new RequestTracker(true, "timeout set to expiring value after load fires", TIME_NORMAL_LOAD, TIME_LATE_TIMEOUT, TIME_DELAY), - new RequestTracker(true, "timeout set to expired value before load fires", TIME_NORMAL_LOAD, TIME_REGULAR_TIMEOUT, TIME_DELAY), - new RequestTracker(true, "timeout set to non-expiring value after timeout fires", TIME_DELAY, TIME_REGULAR_TIMEOUT, TIME_NORMAL_LOAD) ]); + new RequestTracker(true, "timeout set to expired value before load fires", TIME_NORMAL_LOAD, TIME_REGULAR_TIMEOUT, TIME_DELAY+100), + new RequestTracker(true, "timeout set to non-expiring value after timeout fires", TIME_DELAY, TIME_REGULAR_TIMEOUT, 500) ]); 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-simple.html b/XMLHttpRequest/xmlhttprequest-timeout-simple.html index 1ba4820..a517cff 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-simple.html +++ b/XMLHttpRequest/xmlhttprequest-timeout-simple.html 
@@ -3,7 +3,10 @@  <head>  <meta charset="utf-8" />  <title>XHR2 Timeout Property Tests</title> - <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute" data-tested-assertations="following::ol[1]/li[2]" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-ontimeout" data-tested-assertations="../.."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" data-tested-assertations=".."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#request-error" data-tested-assertations="following::ol[1]/li[9]"/>  <link rel="stylesheet" href="/resources/testharness.css" />  <script src="/resources/testharness.js"></script>  <script src="/resources/testharnessreport.js"></script> 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html b/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html index 0c828a6..0dbc69a 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html +++ b/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html 
@@ -3,8 +3,8 @@  <head>  <meta charset="utf-8" />  <title>XHR2 Timeout Property Tests</title> - <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" /> - <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#the-open()-method" data-tested-assertations="following::ol[1]/li[10]" /> + <link rel="help" href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-timeout-attribute" data-tested-assertations="following::ol[1]/li[1]" /> + <link rel="help" href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-open()-method" data-tested-assertations="following::ol[1]/li[10]" />  <link rel="stylesheet" href="/resources/testharness.css" />  <script src="/resources/testharness.js"></script>  <script src="/resources/testharnessreport.js"></script> 
diff --git a/XMLHttpRequest/xmlhttprequest-timeout-twice.html b/XMLHttpRequest/xmlhttprequest-timeout-twice.html index 099754c..6e348c6 100644 --- a/XMLHttpRequest/xmlhttprequest-timeout-twice.html +++ b/XMLHttpRequest/xmlhttprequest-timeout-twice.html 
@@ -5,6 +5,10 @@  <title>XHR2 Timeout Property Tests</title>  <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" />  <link rel="stylesheet" href="/resources/testharness.css" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute" data-tested-assertations="following::ol[1]/li[2]" /> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-ontimeout" data-tested-assertations="../.."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#timeout-error" data-tested-assertations=".."/> + <link rel="help" href="http://www.w3.org/TR/XMLHttpRequest/#request-error" data-tested-assertations="following::ol[1]/li[9]"/>  <script src="/resources/testharness.js"></script>  <script src="/resources/testharnessreport.js"></script>  <script src="xmlhttprequest-timeout.js"></script>